package cn.ac.jaas.isc.vegetable.pbms.api.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 温室表
 *
 * @author 张高昌
 * @date 2022-05-02 09:38:48
 */
@Data
@TableName("arc_house")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "温室表")
public class ArcHouse extends Model<ArcHouse> {

    private static final long serialVersionUID = 1L;

    /**
     * 温室id
     */
    @TableId
    @ApiModelProperty(value = "温室id")
    private Integer houseId;

    /**
     * 基地id
     */
    @ApiModelProperty(value = "基地id")
    private Integer baseId;

    /**
     * 温室名称
     */
    @NotBlank(message = "温室名称不能为空")
    @Length(min = 2, max = 60, message = "温室名称必须由2~60个字组成")
    @ApiModelProperty(value = "温室名称")
    private String houseName;

    /**
     * 温室类型编码
     */
    @NotBlank(message = "温室类型编码不能为空")
    @Length(min = 2, max = 60, message = "温室类型编码必须由2~60个字组成")
    @ApiModelProperty(value = "温室类型编码")
    private String houseType;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Integer sort;

    /**
     * 温室状态[1:启用|2:未启用][arc_house_status]
     */
    @ApiModelProperty(value = "温室状态")
    private Integer status;

    /**
     * 备注
     */
    @Length(max = 120, message = "备注最大不能超过120个字")
    @ApiModelProperty(value = "备注")
    private String remarks;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private Integer createUser;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private LocalDateTime updateTime;

    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人")
    private Integer updateUser;

    /**
     * 是否删除[0:未删除|1:已删除][sys_del_flag]
     */
    @ApiModelProperty(value = "是否删除[0:未删除|1:已删除][sys_del_flag]")
    private Integer delFlag;

}
